// 收藏管理类
class FavoriteManager {
    constructor() {
        // 从本地存储加载收藏数据（模拟后端）
        this.favorites = JSON.parse(localStorage.getItem('mc_favorites')) || [];
    }

    // 添加收藏
    add(item) {
        // 检查是否已收藏
        if (this.isFavorited(item.id)) {
            return false;
        }

        this.favorites.push(item);
        this.save();
        return true;
    }

    // 移除收藏
    remove(id) {
        this.favorites = this.favorites.filter(item => item.id !== id);
        this.save();
    }

    // 检查是否已收藏
    isFavorited(id) {
        return this.favorites.some(item => item.id === id);
    }

    // 获取所有收藏
    getAll() {
        return this.favorites;
    }

    // 按类型筛选收藏
    getByType(type) {
        if (type === 'all') return this.favorites;
        return this.favorites.filter(item => item.type === type);
    }

    // 保存到本地存储
    save() {
        localStorage.setItem('mc_favorites', JSON.stringify(this.favorites));
    }

    // 清空收藏
    clear() {
        this.favorites = [];
        this.save();
    }
}

// 初始化收藏管理器
const favoriteManager = new FavoriteManager();

// 渲染收藏列表
function renderFavorites(type = 'all') {
    const list = $("#favorites-list");
    list.empty();

    const favorites = favoriteManager.getByType(type);

    if (favorites.length === 0) {
        list.html(`
                <div class="empty-tip">
                    <p>暂无收藏内容</p>
                    <button id="go-browse" class="btn-favorite">
                        <span class="icon">+</span>浏览模组
                    </button>
                </div>
            `);
        // 返回浏览按钮事件
        $("#go-browse").click(() => {
            window.location.href = "teamadd.html"; // 跳转到下载页
        });
        return;
    }

    favorites.forEach(item => {
        const html = `
                <div class="favorite-item" data-id="${item.id}">
                    <img src="${item.img}" alt="${item.title}">
                    <div class="item-info">
                        <h3>${item.title}</h3>
                        <p>${item.desc}</p>
                    </div>
                    <button class="btn-unfavorite" data-id="${item.id}">取消收藏</button>
                </div>
            `;
        list.append(html);
    });
}

// 初始化页面
$(function () {
    // 渲染收藏列表
    renderFavorites();

    // 筛选器事件
    $(".favorites-filter button").click(function () {
        $(".favorites-filter button").removeClass("active");
        $(this).addClass("active");
        const type = $(this).data("type");
        renderFavorites(type);
    });

    // 取消收藏事件
    $(document).on("click", ".btn-unfavorite", function () {
        const id = $(this).data("id");
        favoriteManager.remove(id);
        renderFavorites();
    });

    // 批量删除事件
    $("#batch-delete").click(function () {
        if (confirm("确定要删除所有收藏吗？")) {
            favoriteManager.clear();
            renderFavorites();
        }
    });

    // 收藏按钮示例（模拟其他页面的收藏按钮）
    // 实际项目中应在每个可收藏项旁边添加收藏按钮
    $("body").on("click", ".btn-favorite", function () {
        const btn = $(this);
        const id = btn.data("id");
        const type = btn.data("type") || "mod";
        const title = btn.data("title");
        const desc = btn.data("desc");
        const img = btn.data("img");

        if (!id) return; // 确保有ID

        if (favoriteManager.isFavorited(id)) {
            // 已收藏 -> 取消收藏
            favoriteManager.remove(id);
            btn.removeClass("favorited");
            btn.find(".icon").text("+");
        } else {
            // 未收藏 -> 添加收藏
            favoriteManager.add({id, type, title, desc, img});
            btn.addClass("favorited");
            btn.find(".icon").text("✓");
        }
    });
});